﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gnosis.Alexandria
{
    //TODO: Rename messages in terms program behavior
    public static class MessageTypes
    {
        #region Initialization
        
        public const string RequestControllerInitialize = "Request/Controller/Initialize";

        #endregion

        #region Repository

        public const string RequestRepositoryGetArtist = "Request/Repository/GetArtist";
        public const string ResponseRepositoryGetArtist = "Response/Repository/GetArtist";

        #endregion

        #region Artist

        public const string RequestArtistEditLoad = "Request/ArtistEdit/Load";
        public const string RequestArtistEditSave = "Request/ArtistEdit/Save";
        public const string ResponseArtistSaveSucceeded = "Response/Artist/Save/Succeeded";
        public const string ResponseArtistSaveFailed = "Response/Artist/Save/Failed";
        
        #endregion

        #region MainTabView
        public const string RequestMainTabViewLoad = "Request/MainTabView/Load";
        public const string RequestMainTabViewCloseTab = "Request/MainTabView/CloseTab";
        public const string RequestMainTabViewNewTab = "Request/MainTabView/NewTab";
        public const string ResponseMainTabViewTabAdded = "Response/MainTabView/TabAdded";
        public const string ResponseMainTabViewTabSelected = "Response/MainTabView/TabSelected";
        #endregion
    
        #region SearchView

        public const string RequestSearchViewEdit = "Request/SearchView/Edit";

        #endregion

        #region NavigateView

        public const string RequestNavigateViewSearch = "Request/NavigateView/Search";
        public const string ResponseNavigateViewSearch = "Response/NavigateView/Search";
        public const string RequestNavigateViewBack = "Request/NavigateView/Back";
        public const string RequestNavigateViewForward = "Request/NavigateView/Forward";
        public const string RequestNavigateViewRefresh = "Request/NavigateView/Refresh";

        #endregion

        #region BrowseView

        public const string RequestBrowseViewLoad = "Request/BrowseView/Load";
        public const string RequestSearchWikipedia = "Request/Search/Wikipedia";
        public const string RequestSearchYouTube = "Request/Search/YouTube";
        public const string RequestSearchLyricWiki = "Request/Search/LyricWiki";
        public const string RequestSearchAllMusicDotCom = "Request/Search/AllMusicDotCom";
        public const string RequestSearchGrooveshark = "Request/Search/Grooveshark";
        public const string RequestNavigateToUrl = "Request/NavigateToUrl";

        #endregion

        #region MediaPlayerView

        public const string RequestMediaPlayerLoad = "Request/MediaPlayer/Load";

        #endregion
    }
}
